<?php

class EventosController extends AppController {

    public $name = 'Eventos';
    public $uses = array('Evento', 'TipoEvento', 'EstadoEvento', 'Supervisor');

    //metodos
    function index() {
        $eventos = $this->paginate('Evento');
$this->set(compact('eventos'));
    }

    function ver($id = null) {//sin nulo no funca?? //ver
        $this->Evento->id = $id; //esto cambia la referencia en $data
        $this->set('evento', $this->Evento->read()); //lee la ref con id hacia $data
        $this->set('id', $id);
    }

    function agregar() {//copiado del manual
        if (!empty($this->data)) {//si existen dato
            if ($this->Evento->save($this->data)) {//si al op es true
                $this->Session->setFlash('Evento agregado exitosamente.'); //msg
                $this->redirect(array('action' => 'index')); //ir a lista
            } else {
                $this->Session->setFlash('Error al agregar evento');
                $this->redirect(array('action' => 'index'));
            }
        }
        //creando select
        $data_tipo_lista = $this->TipoEvento->find('all');
        foreach ($data_tipo_lista as $data_tipo_item) {
            $tipo_lista[$data_tipo_item['TipoEvento']['id']] = $data_tipo_item['TipoEvento']['nombre'];
        }
        $this->set('tipo_lista', $tipo_lista);

        $data_estado_lista = $this->EstadoEvento->find('all');
        foreach ($data_estado_lista as $data_estado_item) {
            $estado_lista[$data_estado_item['EstadoEvento']['id']] = $data_estado_item['EstadoEvento']['nombre'];
        }
        $this->set('estado_lista', $estado_lista);

        $data_supervisor_lista = $this->Supervisor->find('all');
        foreach ($data_supervisor_lista as $data_supervisor_item) {
            $supervisor_lista[$data_supervisor_item['Supervisor']['id']] = $data_supervisor_item['Supervisor']['nombre'] . ' ' . $data_supervisor_item['Supervisor']['apellido'];
        }
        $this->set('supervisor_lista', $supervisor_lista);
        
        $actividades = $this->Evento->Actividad->find('list', array('fields' => array('id', 'nombre')));
        $this->set(compact('actividades'));
    }

    function borrar($id) {
        if ($this->Evento->delete($id)) {
            $this->Session->setFlash('Evento eliminado exitosamente.');
            $this->redirect(array('action' => 'index'));
        } else {
            $this->Session->setFlash('Error al borrar evento');
            $this->redirect(array('action' => 'index'));
        }
    }

    function editar($id) {
        $this->Evento->id = $id; //ref id hacia $data
        if (empty($this->data)) {//si la data esta vacia
            $this->data = $this->Evento->read(); //leer del id (llena datos)
            //creando select
            $data_tipo_lista = $this->TipoEvento->find('all');
            foreach ($data_tipo_lista as $data_tipo_item) {
                $tipo_lista[$data_tipo_item['TipoEvento']['id']] = $data_tipo_item['TipoEvento']['nombre'];
            }
            $this->set('tipo_lista', $tipo_lista);

            $data_estado_lista = $this->EstadoEvento->find('all');
            foreach ($data_estado_lista as $data_estado_item) {
                $estado_lista[$data_estado_item['EstadoEvento']['id']] = $data_estado_item['EstadoEvento']['nombre'];
            }
            $this->set('estado_lista', $estado_lista);

            $data_supervisor_lista = $this->Supervisor->find('all');
            foreach ($data_supervisor_lista as $data_supervisor_item) {
                $supervisor_lista[$data_supervisor_item['Supervisor']['id']] = $data_supervisor_item['Supervisor']['nombre'] . ' ' . $data_supervisor_item['Supervisor']['apellido'];
            }
            $this->set('supervisor_lista', $supervisor_lista);
            //valores por defecto campos select
            $this->set('supervisor_default', $this->data['Evento']['supervisor_id']);
            $this->set('tipo_default', $this->data['Evento']['tipo_evento_id']);
            $this->set('estado_default', $this->data['Evento']['estado_evento_id']);
            
            $actividades = $this->Evento->Actividad->find('list', array('fields' => array('id', 'nombre')));
            $this->set(compact('actividades'));
            
            $this->set('id', $id);
            
        } else {
            if ($this->Evento->save($this->data)) {//save data
                $this->Session->setFlash('Evento editado exitosamente.');
                $this->redirect(array('action' => 'index'));
            } else {
                $this->Session->setFlash('Error al editar evento');
                $this->redirect(array('action' => 'index'));
            }
        }
    }

}

?>
